home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / MiscKit1.7.1 / MiscKitArchive.mbox / mbox / 000167_misckit-reques…aska.et.byu.edu_Wed Apr 6 15:23:21 1994.msg < prev    next >
Internet Message Format  |  1994-10-30  |  4KB

  1. Return-Path: <misckit-request@alaska.et.byu.edu>
  2. Received: from alaska.et.byu.edu by darth.byu.edu (NX5.67d/NX3.0M)
  3.     id AA11713; Wed, 6 Apr 94 15:23:07 -0600
  4. Received: from acs1.byu.edu by alaska.et.byu.edu; Wed, 6 Apr 1994 15:18:12 -0600
  5. Received: from DIRECTORY-DAEMON by yvax.byu.edu (PMDF V4.3-7 #4169)
  6.  id <01HAUY5J1UCGHSMFKX@yvax.byu.edu>; Wed, 6 Apr 1994 15:18:13 MDT
  7. Received: from alaska.et.byu.edu by yvax.byu.edu (PMDF V4.3-7 #4169)
  8.  id <01HAUY5EYX6OQPG17Z@yvax.byu.edu>; Wed, 6 Apr 1994 15:18:06 MDT
  9. Received: by alaska.et.byu.edu; Wed, 6 Apr 1994 15:17:49 -0600
  10. Date: Wed, 06 Apr 1994 15:17:49 -0600
  11. From: yackd@alaska.et.byu.edu (Don Yacktman)
  12. Subject: Re: Comments on MiscAgent
  13. To: ernest@cco.caltech.edu
  14. Cc: misckit@byu.edu
  15. Message-Id: <199404062117.PAA12686@alaska.et.byu.edu>
  16. Content-Transfer-Encoding: 7BIT
  17.  
  18. > I suspect that if we are to find a truly usable suggestion, it would be  
  19. > best to start with an existing situation and work to abstract it.  Two  
  20. > classes that come to mind are MiscNibController and MiscInfoController.   
  21.  
  22. I agree that this approach could lead to useful results.  As food for
  23. thought, I didn't have time to make this change for the current release,
  24. but the idea is to eventually have MiscInfo, MiscRegistration, and the
  25. MiscOrderForm be subclasses of MiscNibController.  (This makes a lot
  26. of sense if you look at things closely.)  The trick is that Chris'
  27. MiscAgent idea then combines the features of the MiscInfoController
  28. and the (soon to be) MiscNibController subclasses.  It partitions the
  29. solution slightly differently.  I think the idea has merit, though,
  30. since it seems it could be more extensible than the current solution.
  31. The trick, as Ernie suggests, is to make sure that we are reducing
  32. the complexity of the solution and not increasing it.  That's never
  33. easy to do.  :-)
  34.  
  35. Anyway, I felt I ought to mention that I had intended to make the
  36. above change, because it might change how you view the classes in
  37. question.  Especially if you plan to make those classes be a starting
  38. point for abstraction, you need to understand that the current
  39. solution is not as good as if it descended from MiscNibController.
  40. (Of course, anyone who has looked at those classes knows what I
  41. mean.)  By the way, the genesis of those four classes is:  (1) I
  42. started with Scott Hess' original InfoController from the archives
  43. and added all these features to it for my games.  (2)  I abstracted
  44. out the separate objects for info/registration/order form.  Until
  45. NeXT added help in 3.x I had a help panel object too.  I threw it
  46. out in favor of NeXT's solution.  The last step in the creation
  47. was localization with string tables and Misc-izing; the latter was
  48. (obviously) only done recently.  These are really old objects...
  49. so be wary of using them as "examples".  They need a clean up in
  50. their basic design, IMHO.  (It's a lot better than it was, though!)
  51.  
  52. Well, anyway, back to thinking this out.  By the way, I think
  53. the hardest part will be making it transparent to set up knowing
  54. what methods a class responds to before it is loaded.  You kind
  55. of need a flat file--"object.info" or somesuch--inside the bundle
  56. that the MiscAgent can look at before loading the bundle.  Trouble
  57. is, you really need to make sure that that file is automatically
  58. generated.  Making the developer have to worry about it makes the
  59. set up a lot more obnoxious.  (BTW, my Preferences stuff that's under
  60. construction needs to do something similar for the controls on the
  61. preferences panel.  You need to know about what prefs exist...but
  62. that's not possible without the .nib being loaded unless you set
  63. up an easily parseable table.)
  64.  
  65. Later,
  66. -don